home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60src.lha / Vim / vim60 / src / Make_agui.mak < prev    next >
Encoding:
Makefile  |  2001-03-25  |  8.8 KB  |  353 lines

  1. #
  2. # Makefile for VIM on the Amiga, using SAS/Lattice C 6.0 to 6.56
  3. #
  4. # Do NOT use the peephole optimizer with a version before 6.55!
  5. # It messes up all kinds of things:
  6. # For 6.0 and 6.1, expand_env() will not work correctly.
  7. # For 6.2 and 6.3 the call to free_line in u_freeentry is wrong.
  8. # Don't know about 6.50, might work...
  9. # Version 6.56 seems to be working fine.
  10. # You should use Manx Aztec C whenever possible.
  11. #
  12. # The prototypes from Manx and SAS are incompatible. If the prototypes
  13. # were generated by Manx, first do "touch *.c; make proto" before "make".
  14. # The prototypes generated on Unix work for both.
  15. #
  16. # Note: Not all dependencies are included. This was done to avoid having
  17. #       to compile everything when a global variable or function is added.
  18.  
  19. #>>>>> choose options:
  20.  
  21. #ANSI CODES
  22. ANSIOFF = *e[0m
  23. BBOLD = *e[1m
  24. WBOLD = *e[2m
  25. ITALIC = *e[3m
  26. UNDERLI = *e[4m
  27. ANSIOFF = *e[0m
  28. FCOL1 = *e[31m
  29. FCOL2 = *e[32m
  30. FCOL3 = *e[33m
  31. FCOL4 = *e[34m
  32. BCOL1 = *e[41m
  33. BCOL2 = *e[42m
  34. BCOL3 = *e[43m
  35. BCOL4 = *e[44m
  36.  
  37.  
  38. ### See feature.h for a list of optionals.
  39. ### Any other defines can be included here.
  40.  
  41. DEFINES = DEF=NO_ARP DEF=AMIGA DEF=NEWSASC DEF=FEAT_GUI_AMIGA \
  42.         DEF="SASC=658" #" this fixes a bug in the syntax highlighting
  43.  
  44. #>>>>> if HAVE_TGETENT is defined termlib.o has to be used
  45. #TERMLIB = termlib.o
  46. TERMLIB =
  47.  
  48. #>>>>> choose NODEBUG for normal compiling, the other for debugging and
  49. # profiling
  50. # don't switch on debugging when generating proto files, it crashes the
  51. # compiler.
  52. DBG = NODEBUG
  53. #DBG = DBG=FULLFLUSH
  54. #DBG = DBG=LINE
  55.  
  56. #>>>>> choose NOOPTPEEP for 6.0 to 6.3, NOOPT for debugging
  57. #OPTIMIZE=NOOPTPEEP OPT
  58.  
  59. # for 6.58 you can use the line below, but be warned it takes a loooonnnggg time
  60. #OPTIMIZE=OPT  OPTIMIZERSCHEDULER OPTIMIZERTIME NoOPTIMIZERALIAS \
  61. #    OptimizerComplexity=10 OptimizerDepth=10 OptimizerRecurDepth=10 \
  62. #    OptimizerInLocal OPTPEEP
  63. OPTIMIZE=OPT  OPTIMIZERTIME NoOPTIMIZERALIAS \
  64.     OptimizerComplexity=10 OptimizerDepth=10 OptimizerRecurDepth=10 \
  65.     OptimizerInLocal OPTPEEP
  66. #OPTIMIZE = NOOPT
  67.  
  68. # no optimization, (works on all platforms)
  69. #OPTIMIZE=NOOPT
  70.  
  71. #generate code for your processor - note however, that the 060 selection will work for 040's
  72. # as well.
  73. #CPU=68000
  74. #CPU=68020
  75. #CPU=68030
  76. #CPU=68040
  77. CPU=68060
  78.  
  79.  
  80. #Error reporting - I use rexx for reporting, but console reporting may be more
  81. #useful for some people.
  82. #ERROR = ERRORCONSOLE ERRORSOURCE ERRORHIGHLIGHT
  83. ERROR = ERRORREXX ERRORCONSOLE ERRORSOURCE ERRORHIGHLIGHT
  84.  
  85.  
  86. #memory types, if you have fast use it :->,
  87. #    ANY = will work on all machines
  88. #    FAST = this is the best option, for speed
  89. #    CHIP = not necessary for this application.
  90. #MEMORYTYPE=FAST
  91. MEMORYTYPE=ANY
  92.  
  93. #MEMSIZE - this is for compile time only for speed of compilation
  94. #default is LARGE
  95. MEMSIZE=HUGE
  96. #MEMSIZE=LARGE
  97. #MEMSIZE=SMALL
  98.  
  99. #>>>>> end of choices
  100. ###########################################################################
  101.  
  102. CC = sc
  103.  
  104. GST=vim.gst
  105. DEP = $(GST)
  106.  
  107.  
  108. CFLAGS = NOLINK $(DBG)  CPU=$(CPU) NOSTACKCHECK
  109. CFLAGS2 = $(OPTIMIZE) $(ERROR) GSTIMMEDIATE GST=$(GST)
  110. CFLAGS3 =NOSINT SCODE SDATA STRINGMERGE MEMSIZE=$(MEMSIZE)
  111. CFLAGS4 = $(DEFINES) DATAMEMORY=$(MEMORYTYPE)
  112.  
  113. PROPT = DEF=PROTO GPROTO GPPARM MAXIMUMERRORS=999 GENPROTOSTATICS GENPROTOPARAMETERS
  114.  
  115. SRC = \
  116.     buffer.c \
  117.     charset.c \
  118.     diff.c \
  119.     digraph.c \
  120.     edit.c \
  121.     eval.c \
  122.     ex_cmds.c \
  123.     ex_cmds2.c \
  124.     ex_docmd.c \
  125.     ex_getln.c \
  126.     fileio.c \
  127.     fold.c \
  128.     getchar.c \
  129.     main.c \
  130.     mark.c \
  131.     memfile.c \
  132.     memline.c \
  133.     menu.c \
  134.     message.c \
  135.     misc1.c \
  136.     misc2.c \
  137.     move.c \
  138.     normal.c \
  139.     ops.c \
  140.     option.c \
  141.     os_amiga.c \
  142.     quickfix.c \
  143.     regexp.c \
  144.     screen.c \
  145.     search.c \
  146.     syntax.c \
  147.     tag.c \
  148.     term.c \
  149.     ui.c \
  150.     undo.c \
  151.     window.c \
  152.     version.c \
  153.     gui_amiga.c \
  154.     gui.c
  155.  
  156. OBJ = buffer.o charset.o diff.o digraph.o edit.o eval.o ex_cmds.o ex_cmds2.o ex_docmd.o ex_getln.o \
  157.     fileio.o fold.o getchar.o main.o mark.o memfile.o memline.o menu.o message.o misc1.o misc2.o move.o \
  158.     normal.o ops.o option.o os_amiga.o quickfix.o regexp.o screen.o search.o syntax.o \
  159.     tag.o term.o ui.o undo.o window.o gui_amiga.o gui.o  $(TERMLIB)
  160.  
  161. PRO = \
  162.     buffer.pro \
  163.     charset.pro \
  164.     diff.pro \
  165.     digraph.pro \
  166.     edit.pro \
  167.     eval.pro \
  168.     ex_cmds.pro \
  169.     ex_cmds2.pro \
  170.     ex_docmd.pro \
  171.     ex_getln.pro \
  172.     fileio.pro \
  173.     fold.pro \
  174.     getchar.pro \
  175.     main.pro \
  176.     mark.pro \
  177.     memfile.pro \
  178.     memline.pro \
  179.     menu.pro \
  180.     message.pro \
  181.     misc1.pro \
  182.     misc2.pro \
  183.     move.pro \
  184.     normal.pro \
  185.     ops.pro \
  186.     option.pro \
  187.     os_amiga.pro \
  188.     quickfix.pro \
  189.     regexp.pro \
  190.     screen.pro \
  191.     search.pro \
  192.     syntax.pro \
  193.     tag.pro \
  194.     term.pro \
  195.     termlib.pro \
  196.     ui.pro \
  197.     undo.pro \
  198.     window.pro \
  199.     version.pro \
  200.     gui_amiga.pro \
  201.     gui.pro
  202.  
  203. all:
  204.     @echo "$(BCOL2)building prototypes, this may take some time$(ANSIOFF)"
  205.     @smake proto
  206.     @echo "$(BCOL2)building vim production version$(ANSIOFF)"
  207.     @smake vim
  208.  
  209. Vim: scoptions proto $(OBJ) version.c version.h
  210.     $(CC) $(CFLAGS) version.c
  211.     $(CC) LINK $(OPT) $(COPTS) $(OBJ) version.o $(DBG) PNAME=Vim
  212.  
  213. debug: scoption protos $(OBJ) version.c version.h
  214.     $(CC) $(CFLAGS) version.c
  215.     $(CC) LINK $(COPTS) $(OBJ) version.o $(DBG) PNAME=Vim
  216.  
  217. proto: $(PRO)
  218.  
  219. tags: $(SRC)
  220.     spat ctags $(SRC) *.h
  221.     #csh -c ctags $(SRC) *.h
  222.  
  223. # can't use delete here, too many file names
  224. clean:
  225.     @echo removing all object files
  226.     -delete $(OBJ) >nil:
  227.  
  228. clobber: clean
  229.     @echo removing all prototype files
  230.     -delete $(PRO) SCOPTIONS vim $(GST) > NIL:
  231.  
  232.  
  233. # generate an options file, as there is no way the amiga command line can handle the
  234. # lengths that this makefile will impose on the shell.
  235. scoptions: smakefile
  236.     @echo "$(BCOL2)Generating $(ANSIOFF)$(FCOL4)- $@$(ANSIOFF)"
  237.     @echo $(CFLAGS) > scoptions
  238.     @echo $(CFLAGS1) >> scoptions
  239.     @echo $(CFLAGS2) >> scoptions
  240.     @echo $(CFLAGS3) >> scoptions
  241.     @echo $(CFLAGS4) >> scoptions
  242.     @echo $(COPTS) >>scoptions
  243.     @echo scoptions has been built
  244.  
  245.  
  246. #generate GlobalSymbolTable, which both speeds up the compile time, but also
  247. #solves some problems with prototypes, and types  that are defined in a unixy
  248. #manner.
  249. #
  250. #I use a preprocessing stage here to work arounda bug in the GST generator, in
  251. #that it does not handle nested makefiles properly in this stage.
  252. $(GST): scoptions vim.h keymap.h macros.h ascii.h term.h structs.h gui.h gui_amiga.h
  253.     @echo "$(BCOL2)Generating Global Symbol Table $(ANSIOFF)$(FCOL4) $(GST) $(ANSIOFF)"
  254.     $(CC) PREPROCESSORONLY gui_amiga.h  objectname pre.h
  255.     $(CC)  MGST=$(GST) pre.h ignore=105,316
  256.     del pre.h
  257.  
  258.  
  259. ###########################################################################
  260.  
  261. .c.o:
  262.     @echo "$(BCOL2)Generating object for $(ANSIOFF)$(FCOL4) $*.c -> $@$(ANSIOFF)"
  263.     $(CC) $*.c
  264.  
  265. .c.pro:
  266.     @echo "$(BCOL2)Generating prototypes for $(ANSIOFF)$(FCOL4) $*.c -> $@$(ANSIOFF)"
  267.     @$(CC) NOERRORREXX GPFILE=$*.pro $(PROPT) $*.c ignore=306,316,317,304
  268.  
  269. $(PRO): $(GST)
  270. $(OBJ): $(GST)
  271.  
  272. # dependancies
  273. buffer.o:    buffer.c $(DEP)
  274. buffer.pro:    buffer.c $(DEP)
  275. charset.o:    charset.c  $(DEP)
  276. charset.pro:    charset.c $(DEP)
  277. diff.o:        diff.c  $(DEP)
  278. diff.pro:    diff.c $(DEP)
  279. digraph.o:    digraph.c  $(DEP)
  280. digraph.pro:    digraph.c $(DEP)
  281. edit.o:        edit.c  $(DEP)
  282. edit.pro:    edit.c   $(DEP)
  283. eval.o:        eval.c  $(DEP)
  284. eval.pro:    eval.c  $(DEP)
  285. ex_cmds.o:    ex_cmds.c $(DEP)
  286. ex_cmds.pro:    ex_cmds.c  $(DEP)
  287. ex_cmds2.o:    ex_cmds2.c $(DEP)
  288. ex_cmds2.pro:    ex_cmds2.c $(DEP)
  289. ex_docmd.o:    ex_docmd.c ex_cmds.h  $(DEP)
  290. ex_docmd.pro:    ex_docmd.c ex_cmds.h $(DEP)
  291. ex_getln.o:    ex_getln.c  $(DEP)
  292. ex_getln.pro:    ex_getln.c  $(DEP)
  293. fileio.o:    fileio.c  $(DEP)
  294. fileio.pro:    fileio.c   $(DEP)
  295. fold.o:        fold.c  $(DEP)
  296. fold.pro:    fold.c   $(DEP)
  297. getchar.o:    getchar.c  $(DEP)
  298. getchar.pro:    getchar.c $(DEP)
  299. main.o:        main.c globals.h $(DEP)
  300. main.pro:    main.c globals.h $(DEP)
  301. mark.o:        mark.c  $(DEP)
  302. mark.pro:    mark.c $(DEP)
  303. memfile.o:    memfile.c  $(DEP)
  304. memfile.pro:    memfile.c $(DEP)
  305. memline.o:    memline.c  $(DEP)
  306. memline.pro:    memline.c $(DEP)
  307. menu.o:        menu.c  $(DEP)
  308. menu.pro:    menu.c $(DEP)
  309. message.o:    message.c  $(DEP)
  310. message.pro:    message.c $(DEP)
  311. misc1.o:    misc1.c  $(DEP)
  312. misc1.pro:    misc1.c  $(DEP)
  313. misc2.o:    misc2.c  $(DEP)
  314. misc2.pro:    misc2.c $(DEP)
  315. move.o:        move.c  $(DEP)
  316. move.pro:    move.c $(DEP)
  317. normal.o:    normal.c  $(DEP)
  318. normal.pro:    normal.c $(DEP)
  319. ops.o:        ops.c  $(DEP)
  320. ops.pro:    ops.c  $(DEP)
  321. option.o:    option.c  $(DEP)
  322. option.pro:    option.c   $(DEP)
  323. os_amiga.o:    os_amiga.c  $(DEP)
  324. os_amiga.pro:    os_amiga.c  $(DEP)
  325. quickfix.o:    quickfix.c  $(DEP)
  326. quickfix.pro:    quickfix.c  $(DEP)
  327. regexp.o:    regexp.c  $(DEP)
  328. regexp.pro:    regexp.c  $(DEP)
  329. screen.o:    screen.c  $(DEP)
  330. screen.pro:    screen.c  $(DEP)
  331. search.o:    search.c  $(DEP)
  332. search.pro:    search.c  $(DEP)
  333. syntax.o:    syntax.c   $(DEP)
  334. syntax.pro:    syntax.c  $(DEP)
  335. tag.o:        tag.c   $(DEP)
  336. tag.pro:    tag.c   $(DEP)
  337. term.o:        term.c   $(DEP)
  338. term.pro:    term.c  $(DEP)
  339. termlib.o:    termlib.c   $(DEP)
  340. termlib.pro:    termlib.c  $(DEP)
  341. ui.o:        ui.c   $(DEP)
  342. ui.pro:        ui.c  $(DEP)
  343. undo.o:        undo.c   $(DEP)
  344. undo.pro:    undo.c  $(DEP)
  345. window.o:    window.c   $(DEP)
  346. window.pro:    window.c  $(DEP)
  347. gui_amiga.o:    gui_amiga.c $(DEP) amiga.h
  348. #gui_amiga.pro:    gui_amiga.c $(DEP) amiga.h
  349. amiga.o:    amiga.c $(DEP) amiga.h
  350. amiga.pro:    amiga.c $(DEP) amiga.h
  351. gui.o:        gui.c   $(DEP)
  352. gui.pro:    gui.c  $(DEP)
  353.